package main

import (
	"fmt"
	"reflect"
)

func main() {
	var x float64 = 3.4
	v := reflect.ValueOf(&x)
	v.Elem().SetFloat(7.1)
	fmt.Println("v :", v.Elem().Interface())
	fmt.Println("x :", x)
}

// package main

// import (
// 	"fmt"
// 	"reflect"
// )

// func main() {
// 	var x float64 = 3.4

// 	v := reflect.ValueOf(x) //v is reflext.Value

// 	fmt.Println("reflext.Value:", v)

// 	var y float64 = v.Interface().(float64)
// 	fmt.Println("value:", y)
// }

// package main

// import (
// 	"fmt"
// 	"reflect"
// )

// func main() {
// 	var x float64 = 3.4
// 	t := reflect.TypeOf(x) //t is reflext.Type
// 	fmt.Println("type:", t)

// 	v := reflect.ValueOf(x) //v is reflext.Value
// 	fmt.Println("value:", v)
// }
